home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d19
/
kmail275.arc
/
KMAIL.DOC
< prev
next >
Wrap
Text File
|
1991-04-26
|
24KB
|
546 lines
Kmail Version 2.74
Copyright 1990
by
Ken Krueger
Twin Peaks BBS
(303)-651-0225 - Hayes Ultra v.32 v.42bis
Specifications:
---------------
Produces QWK compatible mail packets.
Reads CNAMES.@@@ to obtain conference information.
Reads TPA to obtain User information.
Updates USER file via USERS.SYS interface.
Resets "Mail Waiting" flags after a successful packet download.
Sets message 'has-been-read" flag after successful download.
Sets message-has-replies flag when appropriate.
Fully network compitable. Opens all files in share mode.
Locks message base during updating.
Supports 1024 conferences.
Message packets compatible with RNET.
Extended conference packets require RNET v1.07 or later.
Message packets tested with EZ-RDR v1.33 and SLMR v1.05.
Produces pre-scanned mail packets to save online time.
Evaluation
----------
This evaluation version of Kmail is provided so that you and your
users may may decide if this program meets your needs. Kmail is 100%
fully functional for the "sysop" in local mode. The callers are limited
to 10 messages per conference and to 50 total messages per packet.
In addition, you may call Twin Peaks and obtain a one time 60-day full
function demo-key to help complete your evaluation. No fuss no muss,
first time callers can obtain the demo-key.
60 Day Demo Key
---------------
To obtain the 60 day demo key, just call Twin Peaks. Join conf #19
open door 9 and follow the instructions.
In order for the Demo-Key to work, the name you use to register on
Twin Peaks MUST exactly match the name in record #1 of your USERS file.
Requirements
------------
Dos 3.1 or greater.
PCBoard 14.5 or 14.5a
DSZ version 05/25/89 or later.
PKZIP v1.10 or higher.
PK361 If you wish to support the ARC format. (optional)
PUMA If you wish to make it available. (optional)
Installation
------------
1. Create a KMAIL sub-directory to hold the Kmail distribution files.
Place all files in the archive into this directory.
2. Create a work sub-directory such as C:\KWORK for Kmail to use.
***CAUTION*** ***CAUTION*** All files are erased in this
directory during the mail packet creation process. DO NOT use an
existing directory that has good stuff in it! Multi-node systems
must have a unique work area for each node.
3. Customize the KMAIL.CFG file. Ample comments are in the sample.
This is where you really customize the overall operation.
Parms 1-4 are passed along to the mail readers for their use.
While not critical, you should keep to the general outline in
the sample and customize them for your system.
==> PARM 5: This one is important! This parm specifies the name of
the QWK mail packet that Kmail will create. While the name can be
anything, it would be best to have a name that is associated
with your BBS system name. (Do not specify a .extension here).
The rest of the parms are optional. Among them are options to
control the number of messages based on connect speed, and
protocol transfer options. The default values are in the sample.
DSZ is used as the main protocol and is activated via a call
to a BAT file which you may define in the KMAIL.CFG file. This
allows you to totally customize the DSZ parms to suit your
system. I just let it default to the standard PCBxx.BAT files
that I have setup for PCBoard. Be sure to include the BAT files
location in your DOS path! Kmail passes parms %1-%5 to the
BAT files just the same as PCBoard.
When a caller requests ╔════════════════════════════════════════╗
an external protocol, ║ External Protocol Parameters ║
PCBoard passes several ╠═════════╦══════════════════════════════╣
parameters to the ║Parameter║ Description ║
protocol batch file. ╠═════════╬══════════════════════════════╣
These parameters are ║ %1 ║COM Port Number. ║
listed to the right. ╟─────────╫──────────────────────────────╢
║ %2 ║PC to Modem Speed (DTE rate) ║
╟─────────╫──────────────────────────────╢
║ %3 ║Filename to transfer. ║
╟─────────╫──────────────────────────────╢
** ║ %4 ║Connect Speed shown by PCBoard║
╟─────────╫──────────────────────────────╢
║ %5 ║Carrier Speed. ║
╚═════════╩══════════════════════════════╝
** The %4 field is not easily determined within Kmail, therefore
upon exit to the protocol BAT files, Kmail adjusts the %4
field to the same value as %5.
I have found the following works well with my Hayes 9600 v.42.
PCBSZ.BAT
dsz ha bo est 0 %5 pB4096 sz -m %3
PCBRZ.BAT
dsz ha slow est 0 %5 pB4096 z pr1 rz -m -p %3
4. Customize the KMAIL.CNF if necessary. This is a 2 or 3 line file.
The 1st line defines the interface routine that Kmail should
use, and the 2nd line defines the location of a work directory.
If you are running a multi-node system, you will need a unique
CNF file for each node. (KMAIL1.CNF, KMAIL2.CNF, KMAIL3.CNF......)
Line #1 can be ONE of the two following examples:
INTERRUPT ;the best, fastest
BIOS ;if interrupt fails to work or if
;running under a multi-tasker
Line #2 is the path\name of a scratch work directory. If the
sub-directory does not exist, it will be created. The name may
be anything. I use the name KWORK on my system.
Line #3 is optional. If the pre-zip function (explained later) is
used, this line points to the holding sub-directory. It may be
any name, but I recommend something like KHOLD. Multi-node
systems MUST share the same KHOLD sub-directory in order for
pre-zip packets to be located from any node.
Sample KMAIL.CNF
INTERRUPT Line 1
C:\KWORK Line 2 <-- Must be unique for each node!
D:\KHOLD Line 3 Optional, must NOT be the same as
line 2. Multi-node systems must
share the same sub-directory.
********************************************************************
** Warning ** Warning ** Warning ** Warning ** Warning **
********************************************************************
* *
* ALL FILES ARE ERASED IN THE WORK DIRECTORY DURING PROCESSING. *
* MAKE SURE THE AREA YOU SPECIFY IS A SCRATCH AREA! *
* *
* C:\KWORK <=== NOTE: All files erased in this dir. *
* *
********************************************************************
** Warning ** Warning ** Warning ** Warning ** Warning **
********************************************************************
5. Create the BAT file to run the Kmail door. Kmail requires two
parameters when it is called. The 1st parameter specifies the
name of the CONFIG file. The 2nd parameter specifies the
the drive and path to your PCBoard main directory where the
PCBOARD.DAT file is located.
Echo off
SET KMAIL=
CD\Kmail
KMAIL KMAIL.CNF C:\PCB
C:
CD\PCB
If exist event.bat event <<<--- take note
Board
Notice line 6. This line will start your timed event if needed. Any
door that can logoff a user (during carrier loss or with goodbye) has
the possibility of starting the event.
6. Add an entry in your DOORS.LST files for Kmail. Indicate that
a USERS.SYS *SHOULD* be created and that a DOOR.SYS should not
be created when Kmail is executed.
7. Using PCBsm, select "User Info File Maintenance" and create
a KMAIL Third Party Application entry with the following info.
Version : 25
Static Size : 4
Dynamic Size : 1
Keyword : KMAIL <---- Watch this one! See note below.
NOTE: The keyword parameter above must match the name of the BAT
file that is used to open the Kmail door. So, if the name
of your BAT file is something else, change the keyword
parameter accordingly.
8. Kmail will use the DOS Environment variable "COMSPEC=" to locate
COMMAND.COM in order to execute the archive and communications
programs. The location of the archive and communication programs
must also be included in your DOS path.
9. Network Qnet Status:
If your system will be acting as a HUB for other systems, then
you will need to create a QNET.DAT file to control the Qnet status
of the downline systems. The QNET.DAT file is a plain ordinary
text file which contains the names of the downline sysops whom
you wish to grant Qnet status. One name per line starting in
column 1 and EXACTLY 1 space between the first and last name.
Mixed case is ok. The QNET.DAT file should be placed in the
Kmail sub-directory. Qnet status permits a user to upload mail
on behalf of another person. Without Qnet status, a user is limited
to uploading only their own personal mail.
(* ----------------------------------------------------------- *)
(* The sequence of names should NEVER be changed and new names *)
(* must only be added to the end of the file. If you need to *)
(* remove a person from the list, then just XXX their name out *)
(* leaving the XXX's as a placeholder. *)
(* ----------------------------------------------------------- *)
NOTE: I apologize for the shoddyness of this procedure. I am
working on a PCBsm type utility to handle this function.
It is high on the priority list and expect to have something
around the middle of 1991.
The letter 'Q' is displayed on the conference selection screen
beside each conference to indicate Qnet status.
If you have one or more conferences that you do not want echoed
to downline systems, setting the conference echo-flag to NO will
disable Qnet status for that conference. Messages can still be
downloaded for offline reading via a RDR, but cannot be merged
into the system message base.
10. PRE-ZIP'ed mail packets.
This function allows you to scan and zip a mail packet for a
user so that it is ready for download when the user calls in.
This is an especially usefull function for LD callers.
You will need to create a sub-directory to serve as a holding
area for the pre-zipped packets. The location of the holding
directory is specified in the Kmail.cnf file as shown in step
(5) above. Multi-node systems may share the same holding area.
A PREZIP.DAT file must be created in the Kmail sub-directory
which lists each sysop's name and assigns a unique sequence
number to each name. The sequence numbers are used to match up
a pre-zip packet with the proper caller and are not associated
with any other function in Kmail. Pre-zip packets will be
stored in the KHOLD directory until downloaded by the caller.
The users "MSG Pointers" are also stored in the KHOLD directory
and are posted to the users record upon successful downloading
of the pre-zip packet.
Note: The following format must be *STRICTLY* adheared to. The
name begins in column #1 and must not exceed 25 characters.
A comma MUST sepatate the name and it's following sequence
number. All names must have a three digit sequence number
following the name, leading zeros REQUIRED! Mixed case is
allowed in the name. No two users should have the same number!
Sample: PREZIP.DAT
George Washington,026
John Smith,015
Bob Jones,009
I would suggest a SET Kmail= in your door bat file to insure
that PREZIP is never active for an online caller.
Prezip processing is activated via a Kmail=PREZIP DOS environment
variable. The following is suggested in your event.sys file.
Basically, the process is to make a call to PCB145 to build a
USERS.SYS followed by a call to Kmail to create the packet.
Important! The use of : and ; at the appropriate places in the
PCB145 command line is critical!!!
Ex: PCB145 /USERSYS;JOHN;SMITH;PWRD:12345;TPA:KMAIL
^^^^^
Carefull, this parm must match the bat file name. |
____________________________________________________|
EVENT.SYS
...
...
Set Kmail=PREZIP <===== (note CAPS)
cd\pcb
PCB145 /USERSYS;JOHN;SMITH;PWRD:12345;TPA:KMAIL
cd\Kmail
Kmail KMAIL.CNF C:\PCB LOCAL
cd\pcb
PCB145 /USERSYS;JOE;DOAKS;PWRD:FOOBAR;TPA:KMAIL
cd\Kmail
Kmail KMAIL.CNF C:\PCB LOCAL
If Exist USERS.SYS Del USERS.SYS
Set Kmail= <===== Important!! I suggest you also
... include this line in your Kmail
... door BAT file(s).
event continues.....
11. The installation of Kmail is now complete and you are ready to
begin initial testing as soon as everything is backed up!!!
12. Insure that the locations of DSZ and PKZxxx programs are defined
in your DOS path. Kmail will be unable to locate them if they
are not in the Dos path!
**** NOTE WELL **** NOTE WELL **** NOTE WELL **** NOTE WELL ****
**** NOTE WELL **** NOTE WELL **** NOTE WELL **** NOTE WELL ****
**** NOTE WELL **** NOTE WELL **** NOTE WELL **** NOTE WELL ****
Obviously a mail door must update the USERS file to store message
pointers. Please make sure your USERS file is backed up before running
Kmail. There has been one report of trashed message pointers. I was
unable to track down the cause of the problem and it has not re-occured.
Do not fall into the trap of making an automatic backup each night
during your event if you are simply overlaying the previous nights
backup. If a problem did occur and you did not catch it for several
days, you wouldn't have a valid backup copy. I suggest that you keep a
minimum of seven grandfather copies of your USERS file and each one of
them should be unique.
Conferences
-----------
Kmail obtains all conference related information from the CNAMES.@@@
file including such items as MSG base location, required security to
join, and bulletins path/location.
If a user does not have the required security level to join a
conference, the conference will be listed as <closed> on the Kmail
conference selection menu.
If you need to delete a conference for any reason, just insure that
the conference name is blanked out using PCBsetup and Kmail will not
attempt to process it. It will show up as *Empty* on the selection
menu. Remember to do a global delete of the registered and scan flags!
Private (R/O) Messages
----------------------
Kmail will validate the caller security level and compare it against
the appropriate values specified in PCBsetup to determine if access to
to private messages including comments to sysop are allowed. Conference
Sysop status is also checked. As with PCBoard, you may give global
access to private messages by assigning a high enough security, or on a
conference by conference basis by assigning conference-sysop status.
Qnet_Private=No/Yes (Default=No)
-------------------
If you wish to allow Network-Sysop's the ability to download private
mail without having to alter security levels, you can do this be putting
the parameter Qnet_Private=Yes in the Kmail.CFG file. However, R/O msgs
that do not have the "Echo" flag set, will not be sent. In addition,
the same rule applies to the conference "Echo-flag" status. In other
words, for a R/O message to qualify using the Qnet_Private= option, both
the conference Echo flag AND the individual msg Echo flag must be set
on. Comments to Sysop are not included with this option.
Ignore_Echo=No/Yes (Default=No)
------------------
This option only has meaning if you will be operating as a network hub
with downline nodes receiving mail from you. When you enable a caller
for network-status, that status only applies to conferences defined as
"echo" conferences in pcbsetup. Besides "main", you may have one or
more local conferences on your system. If you wish to allow downline
nodes to echo your local conferences including main, then set this
option to Yes.
Zip_Opt=xxx
-----------
If for some reason you need/want Kmail to use unique Zip parameters,
you may specify them using this option. Omit this entry unless you have
a specific reason for using it.
Loc_Dir=path (Default=None)
------------
If you plan to use Kmail in local mode to capture mail to use with an
offline RDR, use this parameter to specify the location where Kmail
should place the QWK packet. Kmail will also retrieve the REP files
from this directory. This parm is only for convenience. An alternate
location may be specified during the execution of Kmail.
Scan_Upld_Only=Yes/No (Default=Yes)
---------------------
This option controls whether just the upload directory or ALL
directories are scanned when the caller selects the new file scan. If
you keep new files in the upload directories for several days/weeks then
setting this option to YES would be the best choice. However, if you
move new files out of the upload area rather quickly or perhaps have the
"make all uploads private" switch enabled in PCB, then you will need to
specify NO for this option to prevent callers from missing new files.
The scanning of new files is limited to the conference in which the
door was opened. Private upload directories are NEVER scanned.
SCRIPT0 File
------------
If a SCRIPT0 file is present in the KMAIL directory, it will be sent
along in the mail packet. The SCRIPT0 file is displayed by the various
readers when the user exits the reader. If you use one of those
programs that generate a different SCRIPT0 every day, you may want to
consider copying it over to the Kmail directory during system event
processing.
Getting Started
---------------
Finally it's time to run Kmail. Just login to the BBS in the normal
way and open Kmail door. As a first time user, you will be asked to
answer some configuration questions as will each user when they try
Kmail the first time. A special feature in Kmail will detect when the
"sysop" is in local mode and will issue a prompt asking where to place
the resulting QWK mail packet. You should respond with the drive and
path, but WITHOUT the trailing back-slash after the name. Use of the
Loc_Dir option described above prevents having to type this each time.
c:\temp \ All of these are valid ways to specify the
d:\ez >-- location of where to place the QWK packet
a: / when running in local mode.
Later on when you are ready to upload any replies created with one of
the offline readers, Kmail will ask where to obtain the REP file. Use
the same format as above to specify the location.
Errors
------
Any errors detected by kmail including those from 3rd party programs
such as PKZip and DSZ are logged into a file called $door.err in the
Kmail sub-directory. In addition, many of the errors are also written
to the caller log file. Error information is also displayed to the
callers.
Notes and Misc Info
-------------------
Kmail sends a KMAIL.PTR file in each mail packet. The PTR file
contains the last-read message pointer for each conference that the user
has selected. In the event of a problem, a user may upload the PTR file
to restore the message pointers. Just extract the KMAIL.PTR file from
the QWK packet and zip it up in a BBSID.REP file and upload it to Kmail
using the 'P' menu option.
The user may select/un-select conferences and reset message pointers
by using the appropriate options in EZ-RDR. Review the documentation
associated with EZ-RDR for additional information. When resetting
message pointers, Kmail will accept an absolute message # or a negative
number such as -25 which means set the message pointer equal to 25
messages from the end of the message base.
Not yet documented on the menu screen is the ability to stack commands
for the download process. The command 'D Y' will download the mail
packet and return you to the menu screen, while 'D G' will download and
log you off. A 10 second timer is provided to allow you to change your
mind. By using stacked commands, the user can avoid the question "Do
you wish to receive this packet?"
Recent changes to PCBoard allow for passing command line parms to door
programs. Kmail now takes advantage of this feature. Assuming Kmail was
installed as door #3, the following commands would be valid.
Open 3 d (open the door & start download scan)
Open 3 d y (open the door, scan mail, yes to download)
Open 3 d g (open the door, scan mail, download & goodbye)
Kmail d y (open the door, scan mail, yes to download)
In The Works
------------
Utility to handle Qnet status and view/change user options.
Online and downloadable help information is planned.
A filter to allow a user to not receive messages from selected users.
Acknowledgements
----------------
Special thanks to Bill Walsh, whose system I crashed many times during
early beta testing, and to Jeff Freeman whose eagle eye caught many
potential problems, and to Ken Flower for testing >256 conferences.
And thanks to the many others who played a part in the beta testing
development of Kmail.
Registration
------------
Please see the file KMAIL.REG for registration information.
After receipt of your registration, you will need to call my BBS and
obtain a customized KEY file, which will enable any and all features not
available in the evaluation copy of Kmail. Currently, the only
limitation is the number of messages allowed per mail packet.
After obtaining your customized KMAIL.KEY file, just place it in your
KMAIL sub-directory to activate all features.
Ken Krueger
Twin Peak's BBS
303-651-0225 - Hayes Ultra 9600 v.32